Learning-based controlled concurrency testing
نویسندگان
چکیده
منابع مشابه
Testing Database Transaction Concurrency
Database application programs are often designed to be executed concurrently by many clients. By grouping related database queries into transactions, DBMS systems can guarantee that each transaction satisfies the well-known ACID properties: Atomicity, Consistency, Isolation, and Durability. However, if a database application is decomposed into transactions in an incorrect manner, the applicatio...
متن کاملPyCSP - controlled concurrency
Producing readable and correct programs while at the same time taking advantage of multi-core architectures is a challenge. PyCSP is an implementation of Communicating Sequential Processes algebra (CSP) for the Python programming language, taking advantage of CSP’s formal and verifiable approach to controlling concurrency and the readability of Python source code. We describe PyCSP, demonstrate...
متن کاملEffective testing for concurrency bugs
In the current multi-core era, concurrency bugs are a serious threat to software reliability. As hardware becomes more parallel, concurrent programming will become increasingly pervasive. However, correct concurrent programming is known to be extremely challenging for developers and can easily lead to the introduction of concurrency bugs. This dissertation addresses this challenge by proposing ...
متن کاملFirst-class Concurrency Testing and Debugging
Unfortunately, the design of concurrent programs is a very challenging task. The main intellectual difficulty of concurrent programming lies in reasoning about the interaction between concurrently executing threads. Nondeterministic thread scheduling makes it extremely difficult to reproduce behavior from one run of a program to another. As a result, the process of testing and debugging concurr...
متن کاملPreemption Sealing for Efficient Concurrency Testing
The choice of where a thread scheduling algorithm preempts one thread in order to execute another is essential to reveal concurrency errors such as atomicity violations, livelocks, and deadlocks. We present a scheduling strategy called preemption sealing that controls where and when a scheduler is disabled from preempting threads during program execution. We demonstrate that this strategy is ef...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2020
ISSN: 2475-1421
DOI: 10.1145/3428298